home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / TextObjectImaging.p < prev    next >
Text File  |  1996-05-01  |  4KB  |  106 lines

  1. {
  2.      File:        TextObjectImaging.p
  3.  
  4.      Contains:    Text object Imaging Interfaces.
  5.  
  6.      Version:    Technology:    System 8
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT TextObjectImaging;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __TEXTOBJECTIMAGING__}
  28. {$SETC __TEXTOBJECTIMAGING__ := 1}
  29.  
  30. {$I+}
  31. {$SETC TextObjectImagingIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __CONDITIONALMACROS__}
  35. {$I ConditionalMacros.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __TEXTOBJECTS__}
  41. {$I TextObjects.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __QUICKDRAW__}
  44. {$I Quickdraw.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  52. {  An alias for OptionBits to make the intended usage in the prototypes easier to understand  }
  53.  
  54. TYPE
  55.     TextObjectImagingOptions            = OptionBits;
  56. {  Global direction choices  }
  57.     TextObjectDirection                    = UInt8;
  58.  
  59. CONST
  60.     kTextObjSysDirection        = 0;
  61.     kTextObjLeftToRight            = 1;
  62.     kTextObjRightToLeft            = 2;
  63.  
  64. {  Imaging option bits  }
  65.     kTextObjAlignmentOptionBits    = 0;
  66.     kTextObjJustifyBit            = 2;
  67.     kTextObjCondenseBit            = 3;
  68.     kTextObjElisionBits            = 4;
  69.  
  70. {  Alignment options  }
  71.     kTextObjAlignWithDirectionOpt = $00;
  72.     kTextObjAlignLeftOpt        = $01;
  73.     kTextObjAlignRightOpt        = $02;
  74.     kTextObjAlignCenterOpt        = $03;
  75.  
  76. {  Justification options  }
  77.     kTextObjDontJustifyOpt        = $00;
  78.     kTextObjJustifyOpt            = $04;
  79.  
  80. {  Condensed font options  }
  81.     kTextObjTryCondenseOpt        = $00;
  82.     kTextObjDontCondenseOpt        = $08;
  83.  
  84. {  Elision options  }
  85.     kTextObjElideMiddleOpt        = $00;
  86.     kTextObjElideEndOpt            = $10;
  87.     kTextObjElideBeginningOpt    = $20;
  88.     kTextObjDontElideOpt        = $30;
  89.  
  90. FUNCTION DrawTextObject(textObject: ConstTextObject; startIndex: TextObjectIndex; endIndex: TextObjectIndex; grafPort: CGrafPtr; direction: ByteParameter; options: TextObjectImagingOptions): OSStatus; C;
  91. FUNCTION ComputeTextObjectBounds(textObject: ConstTextObject; startIndex: TextObjectIndex; endIndex: TextObjectIndex; grafPort: CGrafPtr; direction: ByteParameter; fontSubstitutionHint: TextObjectImagingOptions; VAR width: Fixed; VAR lineHeight: Fixed; VAR ascent: Fixed): OSStatus; C;
  92. FUNCTION FlowTextObjectOntoLine(textObject: ConstTextObject; startIndex: TextObjectIndex; endIndex: TextObjectIndex; grafPort: CGrafPtr; availableWidth: Fixed; direction: ByteParameter; alignAndFitOptions: TextObjectImagingOptions; VAR actualWidth: Fixed): OSStatus; C;
  93. FUNCTION FlowTextObjectIntoBox(textObject: ConstTextObject; startIndex: TextObjectIndex; endIndex: TextObjectIndex; grafPort: CGrafPtr; {CONST}VAR box: Rect; direction: ByteParameter; alignAndJustOptions: TextObjectImagingOptions; VAR actualExtent: Fixed; VAR lineHeight: Fixed; VAR clipIndex: TextObjectIndex): OSStatus; C;
  94. FUNCTION ComputeTextObjectBoxExtent(textObject: ConstTextObject; startIndex: TextObjectIndex; endIndex: TextObjectIndex; grafPort: CGrafPtr; {CONST}VAR box: Rect; direction: ByteParameter; alignAndJustOptions: TextObjectImagingOptions; VAR actualExtent: Fixed; VAR lineHeight: Fixed; VAR clipIndex: TextObjectIndex): OSStatus; C;
  95. {$ENDC}
  96. {$ALIGN RESET}
  97. {$POP}
  98.  
  99. {$SETC UsingIncludes := TextObjectImagingIncludes}
  100.  
  101. {$ENDC} {__TEXTOBJECTIMAGING__}
  102.  
  103. {$IFC NOT UsingIncludes}
  104.  END.
  105. {$ENDC}
  106.